﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ВерсионированиеОбъектов
	{

		public void МеханизмВерсионированияОбъектов_ПриЗаписиОбъекта(/*Источник, Отказ*/)
		{
			if(true/*ОбъектВерсионируется(Источник, ЧислоВерсийОбъекта)*/)
			{
				//ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
				//ЗаписьXML = Новый ЗаписьXML;
				//ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла);
				//ЗаписьXML.ЗаписатьОбъявлениеXML();
				//ЗаписатьXML(ЗаписьXML, Источник, НазначениеТипаXML.Явное);
				//ЗаписьXML.Закрыть();
				//ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
				//ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
				//УдалитьФайлы(ИмяВременногоФайла);
				//ВерсионированиеОбъектовПривилегированный.ЗаписатьВерсиюОбъекта(Источник.Ссылка, ЧислоВерсийОбъекта, ХранилищеДанных);
			}
		}
		// Проверяет настройки версионирования по переданному объекту и
		// и возвращает вариант версионирования. Если по объекту не настроено
		// версионирование, то он версионируется в соответствии с правилами
		// версионирования "по умолчанию".
		//

		public object ОбъектВерсионируется(/*знач Источник, ЧислоВерсийОбъекта*/)
		{
			/*// Проверяем, что подсистема версионирования включена
*/
			if(true/*глЗначениеПеременной("ИспользоватьВерсионированиеОбъектов")*/)
			{
				//ВариантВерсионирования = ПолучитьВариантВерсионирования(Источник);
				//ЧислоВерсийОбъекта = ВерсионированиеОбъектовПривилегированный.ПолучитьКоличествоВерсийОбъекта(Источник.Ссылка);
				//ВерсионироватьОбъект = Истина;
				if(true/*ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать*/)
				{
					//ВерсионироватьОбъект = Ложь;
				}
			}
			return null;
		}

		public object ПолучитьВариантВерсионирования(/*Источник*/)
		{
			//ИмяОбъекта = Источник.Метаданные().Имя;
			//НастройкаВерсионирования = РегистрыСведений.НастройкаВерсионированияОбъектов.СоздатьМенеджерЗаписи();
			//НастройкаВерсионирования.ТипОбъекта = ИмяОбъекта;
			//НастройкаВерсионирования.Прочитать();
			if(true/*ЗначениеЗаполнено(НастройкаВерсионирования.Вариант)*/)
			{
			}
			return null;
		}
		// Проверяет, что документу разрешено проведение
		//

		public object ДокументПроводится(/*знач ИмяДокумента*/)
		{
			/*Возврат Метаданные.Документы[ИмяДокумента].Проведение = 
	            Метаданные.СвойстваОбъектов.Проведение.Разрешить;*/
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// Блок функций для работы с настройками значений
		// Записывает настройку версионирования по объекту в регистр сведений
		//

		public void ЗаписатьНастройкуВерсионированияПоОбъекту(/*Объект, ВариантВерсионирования*/)
		{
			//ВариантМВ = РегистрыСведений.НастройкаВерсионированияОбъектов.СоздатьМенеджерЗаписи();
			//ВариантМВ.ТипОбъекта = Объект;
			//ВариантМВ.Вариант = ВариантВерсионирования;
			//ВариантМВ.Записать();
		}
		// Получает настройку версионирования по объекту из регистра сведений
		//

		public object ЗагрузитьНастройкуВерсионированияПоОбъекту(/*знач Объект*/)
		{
			//ВариантМВ = РегистрыСведений.НастройкаВерсионированияОбъектов.СоздатьМенеджерЗаписи();
			//ВариантМВ.ТипОбъекта = Объект;
			//ВариантМВ.Прочитать();
			return null;
		}
	}
}
